In general, the Internet-of-Things (IoT) is a computing concept in which physical objects are connected to the Internet. The physical objects may be IoT devices configured to communicate via the Internet (e.g., sensors, actuators, controllers, or the like) or may be physical objects associated with IoT devices configured to communicate via the Internet. In either case, the IoT devices support communications and may support various other functions (e.g., discovering the existence of other IoT devices, providing information, negotiating service agreements, and the like), typically with little or no human assistance or supervision. The deployment and use of increasing numbers of IoT devices is expected to lead to a wide variety of applications which may significantly improve quality of life. For example, IoT devices may be used to provide retail applications, factory automation applications, healthcare applications, energy generation and distribution applications, agricultural applications, mining applications, and smart-city applications, to name just a few. However, realization of such applications is limited by the fact that most IoT devices are expected to be low-power, low-cost devices supporting only short-range wireless communications, thereby preventing the ubiquitous IoT device connectivity required to fully realize many such applications.